const {
    jwtDecode
} = require('../utils/jwt')
const adminModel = require('../db/model/adminModel')
//token校验中间件
module.exports= async (req,res,next)=>{
    const {
        token
    }=req.headers;
     //对token进行解码(返回一个对象 code代表解码的情况)
     const jwtResult = jwtDecode(token,'666')
 
       //解码失败
       if(jwtResult.code===0){
        return res.send({
            code:20000,
            msg:'服务端权限校验失败',
            data:null
        })
       }
       try{
        const findResult=await adminModel.findOne({
            adminName: jwtResult.adminName
        })
        if(findResult.status===0){
            return exports.send({
                code:20002,
                msg :'服务端权限校验失败,数据库保存的status异常',
                data:null
            })
        }
        next()
       }catch(e){
        console.log("权限控制中:查询status状态出现异常" + e.message);
        res.send({
            code : 20001,
            msg : "权限控制中:查询status状态出现异常" + e.message,
            data :null
        })
       }
       
}